[Java]数组、ArrayList和HashMap之比较 | 您所在的位置:网站首页 › java array和list区别 › [Java]数组、ArrayList和HashMap之比较 |
数组、ArrayList和HashMap是Java项目开发中经常用到的容器,下面对这三个容器进行一下比较。 ①可储存的值 //数组 => 可存储基础数据类型或者对象 int[] data = {1,2,3,4,5}; String[] name = {"Mike","Tom","Jessie"};//ArrayList => 只可存储对象 ArrayList nameList = new ArrayList(); nameList.add(new String("Ada"));※但是以下代码编译器不会报错: ArrayList numberList = new ArrayList(); numberList.add(100); //虽然看上去是存的基础数据类型,但实际上被强制转换为Object对象//HashMap => 只可存储成对的对象 HashMap capitalCityMap = new HashMap(); capitalCityMap.put("China","Beijing");
※但是以下代码编译器不会报错: HashMap capitalCityMap2 = new HashMap(); capitalCityMap2.put(1,"Beijing"); //虽然看上去是存的基础数据类型,但实际上被强制转换为Object对象②如何取得元素个数 //数组 int[] data = {1,2,3,4,5}; int size1 = data.length;//ArrayList ArrayList nameList = new ArrayList(); nameList.add(new String("Ada")); int size2 = nameList.size();
//HashMap HashMap capitalCityMap = new HashMap(); capitalCityMap.put("China","Beijing"); int size3 = capitalCityMap.size();③是否允许重复值 //数组 int[] data = {1,1,1,1,1}; //OK//ArrayList ArrayList nameList = new ArrayList(); nameList.add(new String("Ada")); nameList.add(new String("Ada")); //OK//HashMap HashMap capitalCityMap = new HashMap(); capitalCityMap.put("China","Beijing"); capitalCityMap.put("China","Shanghai");//OK,但是"China"这个Key关联的Value就会被覆盖, //也就是"China"对应的对象不再是"Beijing",而是"Shanghai"④如何遍历 //数组 int[] data = {1,1,1,1,1}; //OK for(int i=0;i |
CopyRight 2018-2019 实验室设备网 版权所有 |